home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / os2 / ooxdb200.zip / ooxlogical.xh < prev    next >
Text File  |  1996-11-13  |  24KB  |  864 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: ooxlogical.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. #ifndef SOM_ooxlogical_xh
  11. #define SOM_ooxlogical_xh
  12.  
  13. class ooxlogical;
  14.  
  15. /*
  16.  * Symbol parentComment is undefined
  17.  */
  18.  
  19. #define ooxlogical_MajorVersion 0
  20. #define ooxlogical_MinorVersion 0
  21.  
  22. /* C++ SOM defs */
  23. #include <somcls.xh>
  24. #include <somcm.xh>
  25.  
  26. /* C++ parent defs */
  27. #ifndef SOM_ooxfield_xh
  28. #include <ooxfield.xh>
  29. #endif
  30.  
  31. #ifndef ooxlogical_API
  32. #define ooxlogical_API
  33. /*
  34.  * -- The Class API
  35.  */
  36.  
  37. /*
  38.  * Start of bindings for IDL types
  39.  */
  40.  
  41. class SOMClass;
  42. class SOMObject;
  43.  
  44. /*
  45.  * End of bindings for IDL types.
  46.  */
  47.  
  48. /* A procedure to create the ooxlogical Class */
  49. SOMEXTERN SOMClass * SOMLINK ooxlogicalNewClass(
  50.         integer4 majorVersion,
  51.         integer4 minorVersion);
  52.  
  53. /* The API to the ooxlogical class object, and the methods it introduces. */
  54. SOMEXTERN struct ooxlogicalClassDataStructure {
  55.     SOMClass *classObject;
  56.     somMToken define;
  57.     somMToken put_boolean;
  58.     somMToken get_boolean;
  59. } SOMDLINK ooxlogicalClassData;
  60. #define _ooxlogical ooxlogicalClassData.classObject
  61.  
  62. /* The API to parentMtabs for ooxlogical, and the instance data it introduces. */
  63. SOMEXTERN struct ooxlogicalCClassDataStructure {
  64.     somMethodTabs parentMtab;
  65.     somDToken              instanceDataToken;
  66. } SOMDLINK ooxlogicalCClassData;
  67.  
  68. /*
  69.  * -- Typedefs for ooxlogical Method Procedures
  70.  */
  71. SOMEXTERN {
  72. typedef void   SOMLINK somTP_ooxlogical_define(ooxlogical *somSelf, 
  73.         somInitCtrl* ctrl, 
  74.         string name);
  75. typedef somTP_ooxlogical_define *somTD_ooxlogical_define;
  76. typedef void   SOMLINK somTP_ooxlogical_put_boolean(ooxlogical *somSelf, 
  77.         boolean booleanv);
  78. typedef somTP_ooxlogical_put_boolean *somTD_ooxlogical_put_boolean;
  79. typedef boolean   SOMLINK somTP_ooxlogical_get_boolean(ooxlogical *somSelf);
  80. typedef somTP_ooxlogical_get_boolean *somTD_ooxlogical_get_boolean;
  81.  
  82. /*
  83.  * -- Typedefs for Reintroduced Wrapper Methods
  84.  */
  85. typedef string   SOMLINK somTP_ooxlogical_get_name(ooxlogical *somSelf);
  86. typedef somTP_ooxlogical_get_name *somTD_ooxlogical_get_name;
  87. typedef string   SOMLINK somTP_ooxlogical_get(ooxlogical *somSelf);
  88. typedef somTP_ooxlogical_get *somTD_ooxlogical_get;
  89. typedef long   SOMLINK somTP_ooxlogical_put(ooxlogical *somSelf, 
  90.         string datum);
  91. typedef somTP_ooxlogical_put *somTD_ooxlogical_put;
  92. typedef char   SOMLINK somTP_ooxlogical_get_type(ooxlogical *somSelf);
  93. typedef somTP_ooxlogical_get_type *somTD_ooxlogical_get_type;
  94. typedef short   SOMLINK somTP_ooxlogical_get_length(ooxlogical *somSelf);
  95. typedef somTP_ooxlogical_get_length *somTD_ooxlogical_get_length;
  96. typedef short   SOMLINK somTP_ooxlogical_get_dec_point(ooxlogical *somSelf);
  97. typedef somTP_ooxlogical_get_dec_point *somTD_ooxlogical_get_dec_point;
  98. typedef void   SOMLINK somTP_ooxlogical_somDefaultInit(ooxlogical *somSelf, 
  99.         som3InitCtrl* ctrl);
  100. typedef somTP_ooxlogical_somDefaultInit *somTD_ooxlogical_somDefaultInit;
  101. typedef void   SOMLINK somTP_ooxlogical_somUninit(ooxlogical *somSelf);
  102. typedef somTP_ooxlogical_somUninit *somTD_ooxlogical_somUninit;
  103. typedef void   SOMLINK somTP_ooxlogical_somDestruct(ooxlogical *somSelf, 
  104.         octet doFree, 
  105.         som3DestructCtrl* ctrl);
  106. typedef somTP_ooxlogical_somDestruct *somTD_ooxlogical_somDestruct;
  107. typedef void   SOMLINK somTP_ooxlogical_somDefaultCopyInit(ooxlogical *somSelf, 
  108.         som3InitCtrl* ctrl, 
  109.         SOMObject* fromObj);
  110. typedef somTP_ooxlogical_somDefaultCopyInit *somTD_ooxlogical_somDefaultCopyInit;
  111. typedef ooxlogical*   SOMLINK somTP_ooxlogical_somDefaultAssign(ooxlogical *somSelf, 
  112.         som3AssignCtrl* ctrl, 
  113.         SOMObject* fromObj);
  114. typedef somTP_ooxlogical_somDefaultAssign *somTD_ooxlogical_somDefaultAssign;
  115. typedef void   SOMLINK somTP_ooxlogical_somDefaultConstCopyInit(ooxlogical *somSelf, 
  116.         som3InitCtrl* ctrl, 
  117.         SOMObject* fromObj);
  118. typedef somTP_ooxlogical_somDefaultConstCopyInit *somTD_ooxlogical_somDefaultConstCopyInit;
  119. typedef void   SOMLINK somTP_ooxlogical_somDefaultVCopyInit(ooxlogical *somSelf, 
  120.         som3InitCtrl* ctrl, 
  121.         SOMObject* fromObj);
  122. typedef somTP_ooxlogical_somDefaultVCopyInit *somTD_ooxlogical_somDefaultVCopyInit;
  123. typedef void   SOMLINK somTP_ooxlogical_somDefaultConstVCopyInit(ooxlogical *somSelf, 
  124.         som3InitCtrl* ctrl, 
  125.         SOMObject* fromObj);
  126. typedef somTP_ooxlogical_somDefaultConstVCopyInit *somTD_ooxlogical_somDefaultConstVCopyInit;
  127. typedef ooxlogical*   SOMLINK somTP_ooxlogical_somDefaultConstAssign(ooxlogical *somSelf, 
  128.         som3AssignCtrl* ctrl, 
  129.         SOMObject* fromObj);
  130. typedef somTP_ooxlogical_somDefaultConstAssign *somTD_ooxlogical_somDefaultConstAssign;
  131. typedef ooxlogical*   SOMLINK somTP_ooxlogical_somDefaultVAssign(ooxlogical *somSelf, 
  132.         som3AssignCtrl* ctrl, 
  133.         SOMObject* fromObj);
  134. typedef somTP_ooxlogical_somDefaultVAssign *somTD_ooxlogical_somDefaultVAssign;
  135. typedef ooxlogical*   SOMLINK somTP_ooxlogical_somDefaultConstVAssign(ooxlogical *somSelf, 
  136.         som3AssignCtrl* ctrl, 
  137.         SOMObject* fromObj);
  138. typedef somTP_ooxlogical_somDefaultConstVAssign *somTD_ooxlogical_somDefaultConstVAssign;
  139. typedef void   SOMLINK somTP_ooxlogical_somInit(ooxlogical *somSelf);
  140. typedef somTP_ooxlogical_somInit *somTD_ooxlogical_somInit;
  141. typedef void   SOMLINK somTP_ooxlogical_somFree(ooxlogical *somSelf);
  142. typedef somTP_ooxlogical_somFree *somTD_ooxlogical_somFree;
  143. typedef SOMClass*   SOMLINK somTP_ooxlogical_somGetClass(ooxlogical *somSelf);
  144. typedef somTP_ooxlogical_somGetClass *somTD_ooxlogical_somGetClass;
  145. typedef string   SOMLINK somTP_ooxlogical_somGetClassName(ooxlogical *somSelf);
  146. typedef somTP_ooxlogical_somGetClassName *somTD_ooxlogical_somGetClassName;
  147. typedef long   SOMLINK somTP_ooxlogical_somGetSize(ooxlogical *somSelf);
  148. typedef somTP_ooxlogical_somGetSize *somTD_ooxlogical_somGetSize;
  149. typedef boolean   SOMLINK somTP_ooxlogical_somIsA(ooxlogical *somSelf, 
  150.         SOMClass* aClassObj);
  151. typedef somTP_ooxlogical_somIsA *somTD_ooxlogical_somIsA;
  152. typedef boolean   SOMLINK somTP_ooxlogical_somIsInstanceOf(ooxlogical *somSelf, 
  153.         SOMClass* aClassObj);
  154. typedef somTP_ooxlogical_somIsInstanceOf *somTD_ooxlogical_somIsInstanceOf;
  155. typedef boolean   SOMLINK somTP_ooxlogical_somRespondsTo(ooxlogical *somSelf, 
  156.         somId mId);
  157. typedef somTP_ooxlogical_somRespondsTo *somTD_ooxlogical_somRespondsTo;
  158. typedef boolean   SOMLINK somTP_ooxlogical_somDispatch(ooxlogical *somSelf, 
  159.         somToken* retValue, 
  160.         somId methodId, 
  161.         va_list ap);
  162. typedef somTP_ooxlogical_somDispatch *somTD_ooxlogical_somDispatch;
  163. typedef boolean   SOMLINK somTP_ooxlogical_somClassDispatch(ooxlogical *somSelf, 
  164.         SOMClass* clsObj, 
  165.         somToken* retValue, 
  166.         somId methodId, 
  167.         va_list ap);
  168. typedef somTP_ooxlogical_somClassDispatch *somTD_ooxlogical_somClassDispatch;
  169. typedef boolean   SOMLINK somTP_ooxlogical_somCastObj(ooxlogical *somSelf, 
  170.         SOMClass* cls);
  171. typedef somTP_ooxlogical_somCastObj *somTD_ooxlogical_somCastObj;
  172. typedef boolean   SOMLINK somTP_ooxlogical_somResetObj(ooxlogical *somSelf);
  173. typedef somTP_ooxlogical_somResetObj *somTD_ooxlogical_somResetObj;
  174. typedef void   SOMLINK somTP_ooxlogical_somDispatchV(ooxlogical *somSelf, 
  175.         somId methodId, 
  176.         somId descriptor, 
  177.         va_list ap);
  178. typedef somTP_ooxlogical_somDispatchV *somTD_ooxlogical_somDispatchV;
  179. typedef long   SOMLINK somTP_ooxlogical_somDispatchL(ooxlogical *somSelf, 
  180.         somId methodId, 
  181.         somId descriptor, 
  182.         va_list ap);
  183. typedef somTP_ooxlogical_somDispatchL *somTD_ooxlogical_somDispatchL;
  184. typedef void*   SOMLINK somTP_ooxlogical_somDispatchA(ooxlogical *somSelf, 
  185.         somId methodId, 
  186.         somId descriptor, 
  187.         va_list ap);
  188. typedef somTP_ooxlogical_somDispatchA *somTD_ooxlogical_somDispatchA;
  189. typedef double   SOMLINK somTP_ooxlogical_somDispatchD(ooxlogical *somSelf, 
  190.         somId methodId, 
  191.         somId descriptor, 
  192.         va_list ap);
  193. typedef somTP_ooxlogical_somDispatchD *somTD_ooxlogical_somDispatchD;
  194. typedef SOMObject*   SOMLINK somTP_ooxlogical_somPrintSelf(ooxlogical *somSelf);
  195. typedef somTP_ooxlogical_somPrintSelf *somTD_ooxlogical_somPrintSelf;
  196. typedef void   SOMLINK somTP_ooxlogical_somDumpSelf(ooxlogical *somSelf, 
  197.         long level);
  198. typedef somTP_ooxlogical_somDumpSelf *somTD_ooxlogical_somDumpSelf;
  199. typedef void   SOMLINK somTP_ooxlogical_somDumpSelfInt(ooxlogical *somSelf, 
  200.         long level);
  201. typedef somTP_ooxlogical_somDumpSelfInt *somTD_ooxlogical_somDumpSelfInt;
  202. }
  203.  
  204. #endif /* ooxlogical_API */
  205.  
  206.  
  207. /*
  208.  * -- This emitter treats Method Tokens as Thunks by default.
  209.  * -- Use the sc modifier "nothunks" to change this default
  210.  */
  211. #undef somresolve_
  212. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  213.  
  214. /*
  215.  * -- The C++ Wrapper Class for ooxlogical
  216.  */
  217. class ooxlogical : public ooxfield
  218. {
  219. /*
  220.  * Symbol parentComment is undefined
  221.  */
  222. public:
  223.  
  224. // ooxlogical::new creates the class object if necessary, and then uses somNewNoInit
  225. // to allocate memory and create the object. Initialization is in ctors.
  226. void *operator new(size_t)
  227. {
  228.    if (!_ooxlogical) ooxlogicalNewClass(ooxlogical_MajorVersion,ooxlogical_MinorVersion);
  229.    return (void*)
  230.       SOM_Resolve(_ooxlogical,SOMClass,somNewNoInit)
  231.          ((SOMClass *)((void*)_ooxlogical));
  232. }
  233.  
  234. // ooxlogical::delete uses somDestruct.
  235. void operator delete(void * obj)
  236. {
  237.    if (obj && *(void**)obj) {
  238.       SOM_Resolve(obj,SOMObject,somFree)
  239.          ((SOMObject*)obj);
  240.    }
  241. }
  242.  
  243. ooxlogical& operator=(ooxlogical& fromObj)
  244. {
  245.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  246.    return *this;
  247. }
  248.  
  249. ooxlogical()
  250. {
  251.    if (*(void**)this != 
  252.        ((somParentMtabStructPtr)
  253.         (ooxlogicalCClassData.parentMtab))->mtab)
  254.       return;
  255.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  256. }
  257.  
  258. ooxlogical(ooxlogical* fromObj)
  259. {
  260.    if (*(void**)this != 
  261.        ((somParentMtabStructPtr)
  262.         (ooxlogicalCClassData.parentMtab))->mtab)
  263.       return;
  264.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  265. }
  266.  
  267. #ifdef __IBMCPP__
  268. #pragma info(nocnv,nopar)
  269. #endif
  270. ooxlogical(const ooxlogical* fromObj)
  271. {
  272.    if (*(void**)this != 
  273.        ((somParentMtabStructPtr)
  274.         (ooxlogicalCClassData.parentMtab))->mtab)
  275.       return;
  276.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  277. }
  278. #ifdef __IBMCPP__
  279. #pragma info(restore)
  280. #endif
  281.  
  282. ooxlogical(string name) 
  283. {
  284.    define(0,name);
  285. }
  286.  
  287.  
  288. /* initializer method: define */
  289. void   define(somInitCtrl* ctrl, 
  290.         string name)
  291. {
  292.    SOM_ResolveD(this,ooxlogical,ooxlogical,define)
  293.     (this,ctrl,name);
  294. }
  295.  
  296.  
  297. /* method: put_boolean */
  298. void   put_boolean(boolean booleanv)
  299. {
  300.    SOM_ResolveD(this,ooxlogical,ooxlogical,put_boolean)
  301.     (this,booleanv);
  302. }
  303.  
  304.  
  305. /* method: get_boolean */
  306. boolean   get_boolean()
  307. {
  308.    return SOM_ResolveD(this,ooxlogical,ooxlogical,get_boolean)
  309.     (this);
  310. }
  311.  
  312.  
  313. /*
  314.  * Reintroduce inherited methods
  315.  */
  316.  
  317. /* method: get_name */
  318. string   get_name()
  319. {
  320.    return SOM_ResolveD(this,ooxlogical,ooxfield,get_name)
  321.     (this);
  322. }
  323.  
  324.  
  325. /* method: get */
  326. string   get()
  327. {
  328.    return SOM_ResolveD(this,ooxlogical,ooxfield,get)
  329.     (this);
  330. }
  331.  
  332.  
  333. /* method: put */
  334. long   put(string datum)
  335. {
  336.    return SOM_ResolveD(this,ooxlogical,ooxfield,put)
  337.     (this,datum);
  338. }
  339.  
  340.  
  341. /* method: get_type */
  342. char   get_type()
  343. {
  344.    return SOM_ResolveD(this,ooxlogical,ooxfield,get_type)
  345.     (this);
  346. }
  347.  
  348.  
  349. /* method: get_length */
  350. short   get_length()
  351. {
  352.    return SOM_ResolveD(this,ooxlogical,ooxfield,get_length)
  353.     (this);
  354. }
  355.  
  356.  
  357. /* method: get_dec_point */
  358. short   get_dec_point()
  359. {
  360.    return SOM_ResolveD(this,ooxlogical,ooxfield,get_dec_point)
  361.     (this);
  362. }
  363.  
  364.  
  365. /* initializer method: somDefaultInit */
  366. void   somDefaultInit(som3InitCtrl* ctrl)
  367. {
  368.    SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultInit)
  369.     (this,ctrl);
  370. }
  371.  
  372.  
  373. /* method: somUninit */
  374. void   somUninit()
  375. {
  376.    SOM_ResolveD(this,ooxlogical,SOMObject,somUninit)
  377.     (this);
  378. }
  379.  
  380.  
  381. /* method: somDestruct */
  382. void   somDestruct(octet doFree, 
  383.         som3DestructCtrl* ctrl)
  384. {
  385. /*
  386.  *  The default destructor for a SOM object. A nonzero <doFree>
  387.  *  indicates that the object storage should be freed by the
  388.  *  object's class (via somDeallocate) after uninitialization.
  389.  *  As with somDefaultInit, a null ctrl can be passed.
  390.  */
  391.    SOM_ResolveD(this,ooxlogical,SOMObject,somDestruct)
  392.     (this,doFree,ctrl);
  393. }
  394.  
  395.  
  396. /* initializer method: somDefaultCopyInit */
  397. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  398.         SOMObject* fromObj)
  399. {
  400. /*
  401.  *  A default copy constructor. Use this to make copies of objects for
  402.  *  calling methods with "by-value" argument semantics.
  403.  */
  404.    SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultCopyInit)
  405.     (this,ctrl,fromObj);
  406. }
  407.  
  408.  
  409. /* method: somDefaultAssign */
  410. ooxlogical*  somDefaultAssign(som3AssignCtrl* ctrl, 
  411.         SOMObject* fromObj)
  412. {
  413. /*
  414.  *  A default assignment operator. Use this to "assign" the state of one
  415.  *  object to another.
  416.  */
  417.    return SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultAssign)
  418.     (this,ctrl,fromObj);
  419. }
  420.  
  421.  
  422. /* initializer method: somDefaultConstCopyInit */
  423. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  424.         SOMObject* fromObj)
  425. {
  426. /*
  427.  *  A default copy constructor that uses a const fromObj.
  428.  */
  429.    SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultConstCopyInit)
  430.     (this,ctrl,fromObj);
  431. }
  432.  
  433.  
  434. /* initializer method: somDefaultVCopyInit */
  435. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  436.         SOMObject* fromObj)
  437. {
  438. /*
  439.  *  A default copy constructor that uses a volatile fromObj.
  440.  */
  441.    SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultVCopyInit)
  442.     (this,ctrl,fromObj);
  443. }
  444.  
  445.  
  446. /* initializer method: somDefaultConstVCopyInit */
  447. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  448.         SOMObject* fromObj)
  449. {
  450. /*
  451.  *  A default copy constructor that uses a const volatile fromObj.
  452.  */
  453.    SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultConstVCopyInit)
  454.     (this,ctrl,fromObj);
  455. }
  456.  
  457.  
  458. /* method: somDefaultConstAssign */
  459. ooxlogical*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  460.         SOMObject* fromObj)
  461. {
  462. /*
  463.  *  A default assignment operator that uses a const fromObj.
  464.  */
  465.    return SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultConstAssign)
  466.     (this,ctrl,fromObj);
  467. }
  468.  
  469.  
  470. /* method: somDefaultVAssign */
  471. ooxlogical*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  472.         SOMObject* fromObj)
  473. {
  474. /*
  475.  *  A default assignment operator that uses a volatile fromObj.
  476.  */
  477.    return SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultVAssign)
  478.     (this,ctrl,fromObj);
  479. }
  480.  
  481.  
  482. /* method: somDefaultConstVAssign */
  483. ooxlogical*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  484.         SOMObject* fromObj)
  485. {
  486. /*
  487.  *  A default assignment operator that uses a const volatile fromObj.
  488.  */
  489.    return SOM_ResolveD(this,ooxlogical,SOMObject,somDefaultConstVAssign)
  490.     (this,ctrl,fromObj);
  491. }
  492.  
  493.  
  494. /* method: somInit */
  495. void   somInit()
  496. {
  497. /*
  498.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  499.  */
  500.    SOM_ResolveD(this,ooxlogical,SOMObject,somInit)
  501.     (this);
  502. }
  503.  
  504.  
  505. /* method: somFree */
  506. void   somFree()
  507. {
  508. /*
  509.  *  Use as directed by framework implementations.
  510.  */
  511.    SOM_ResolveD(this,ooxlogical,SOMObject,somFree)
  512.     (this);
  513. }
  514.  
  515.  
  516. /* method: somGetClass */
  517. SOMClass*   somGetClass()
  518. {
  519. /*
  520.  *  Return the receiver's class.
  521.  */
  522.    return SOM_ResolveD(this,ooxlogical,SOMObject,somGetClass)
  523.     (this);
  524. }
  525.  
  526.  
  527. /* method: somGetClassName */
  528. string   somGetClassName()
  529. {
  530. /*
  531.  *  Return the name of the receiver's class.
  532.  */
  533.    return SOM_ResolveD(this,ooxlogical,SOMObject,somGetClassName)
  534.     (this);
  535. }
  536.  
  537.  
  538. /* method: somGetSize */
  539. long   somGetSize()
  540. {
  541. /*
  542.  *  Return the size of the receiver.
  543.  */
  544.    return SOM_ResolveD(this,ooxlogical,SOMObject,somGetSize)
  545.     (this);
  546. }
  547.  
  548.  
  549. /* method: somIsA */
  550. boolean   somIsA(SOMClass* aClassObj)
  551. {
  552. /*
  553.  *  Returns 1 (true) if the receiver responds to methods
  554.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  555.  */
  556.    return SOM_ResolveD(this,ooxlogical,SOMObject,somIsA)
  557.     (this,aClassObj);
  558. }
  559.  
  560.  
  561. /* method: somIsInstanceOf */
  562. boolean   somIsInstanceOf(SOMClass* aClassObj)
  563. {
  564. /*
  565.  *  Returns 1 (true) if the receiver is an instance of
  566.  *  <aClassObj> and 0 (false) otherwise.
  567.  */
  568.    return SOM_ResolveD(this,ooxlogical,SOMObject,somIsInstanceOf)
  569.     (this,aClassObj);
  570. }
  571.  
  572.  
  573. /* method: somRespondsTo */
  574. boolean   somRespondsTo(somId mId)
  575. {
  576. /*
  577.  *  Returns 1 (true) if the indicated method can be invoked
  578.  *  on the receiver and 0 (false) otherwise.
  579.  */
  580.    return SOM_ResolveD(this,ooxlogical,SOMObject,somRespondsTo)
  581.     (this,mId);
  582. }
  583.  
  584.  
  585. /* va_list method: somDispatch */
  586.  
  587. /*
  588.  *  This method provides a generic, class-specific dispatch mechanism.
  589.  *  It accepts as input <retValue> a pointer to the memory area to be
  590.  *  loaded with the result of dispatching the method indicated by
  591.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  592.  *  on which the method is to be invoked as the first argument.
  593.  */
  594. /* the va_list invocation form */
  595. boolean   ooxlogical_somDispatch(somToken* retValue, 
  596.         somId methodId, 
  597.         va_list ap)
  598. {return SOM_ResolveD(this,ooxlogical,SOMObject,somDispatch)
  599.     (this,retValue,methodId,ap);
  600. }
  601.  
  602. /* the varargs invocation form */
  603. boolean   somDispatch(somToken* retValue, 
  604.         somId methodId, 
  605.         ...)
  606. {
  607. /*
  608.  *  This method provides a generic, class-specific dispatch mechanism.
  609.  *  It accepts as input <retValue> a pointer to the memory area to be
  610.  *  loaded with the result of dispatching the method indicated by
  611.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  612.  *  on which the method is to be invoked as the first argument.
  613.  */
  614.    va_list ap;
  615.    va_start(ap, methodId);
  616.    boolean __somResult = 
  617.       SOM_ResolveD(this,ooxlogical,SOMObject,somDispatch)
  618.     (this,retValue,methodId,ap);
  619.    va_end(ap);
  620.    return __somResult;
  621. }
  622.  
  623.  
  624. /* va_list method: somClassDispatch */
  625.  
  626. /*
  627.  *  Like somDispatch, but method resolution for static methods is done
  628.  *  according to the clsObj instance method table.
  629.  */
  630. /* the va_list invocation form */
  631. boolean   ooxlogical_somClassDispatch(SOMClass* clsObj, 
  632.         somToken* retValue, 
  633.         somId methodId, 
  634.         va_list ap)
  635. {return SOM_ResolveD(this,ooxlogical,SOMObject,somClassDispatch)
  636.     (this,clsObj,retValue,methodId,ap);
  637. }
  638.  
  639. /* the varargs invocation form */
  640. boolean   somClassDispatch(SOMClass* clsObj, 
  641.         somToken* retValue, 
  642.         somId methodId, 
  643.         ...)
  644. {
  645. /*
  646.  *  Like somDispatch, but method resolution for static methods is done
  647.  *  according to the clsObj instance method table.
  648.  */
  649.    va_list ap;
  650.    va_start(ap, methodId);
  651.    boolean __somResult = 
  652.       SOM_ResolveD(this,ooxlogical,SOMObject,somClassDispatch)
  653.     (this,clsObj,retValue,methodId,ap);
  654.    va_end(ap);
  655.    return __somResult;
  656. }
  657.  
  658.  
  659. /* method: somCastObj */
  660. boolean   somCastObj(SOMClass* cls)
  661. {
  662. /*
  663.  *  cast the receiving object to cls (which must be an ancestor of the
  664.  *  objects true class. Returns true on success.
  665.  */
  666.    return SOM_ResolveD(this,ooxlogical,SOMObject,somCastObj)
  667.     (this,cls);
  668. }
  669.  
  670.  
  671. /* method: somResetObj */
  672. boolean   somResetObj()
  673. {
  674. /*
  675.  *  reset an object to its true class. Returns true always.
  676.  */
  677.    return SOM_ResolveD(this,ooxlogical,SOMObject,somResetObj)
  678.     (this);
  679. }
  680.  
  681.  
  682. /* va_list method: somDispatchV */
  683.  
  684. /*
  685.  *  Obsolete. Use somDispatch instead.
  686.  */
  687. /* the va_list invocation form */
  688. void   ooxlogical_somDispatchV(somId methodId, 
  689.         somId descriptor, 
  690.         va_list ap)
  691. {   SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchV)
  692.     (this,methodId,descriptor,ap);
  693. }
  694.  
  695. /* the varargs invocation form */
  696. void   somDispatchV(somId methodId, 
  697.         somId descriptor, 
  698.         ...)
  699. {
  700. /*
  701.  *  Obsolete. Use somDispatch instead.
  702.  */
  703.    va_list ap;
  704.    va_start(ap, descriptor);
  705.    SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchV)
  706.     (this,methodId,descriptor,ap);
  707.    va_end(ap);
  708. }
  709.  
  710.  
  711. /* va_list method: somDispatchL */
  712.  
  713. /*
  714.  *  Obsolete. Use somDispatch instead.
  715.  */
  716. /* the va_list invocation form */
  717. long   ooxlogical_somDispatchL(somId methodId, 
  718.         somId descriptor, 
  719.         va_list ap)
  720. {return SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchL)
  721.     (this,methodId,descriptor,ap);
  722. }
  723.  
  724. /* the varargs invocation form */
  725. long   somDispatchL(somId methodId, 
  726.         somId descriptor, 
  727.         ...)
  728. {
  729. /*
  730.  *  Obsolete. Use somDispatch instead.
  731.  */
  732.    va_list ap;
  733.    va_start(ap, descriptor);
  734.    long __somResult = 
  735.       SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchL)
  736.     (this,methodId,descriptor,ap);
  737.    va_end(ap);
  738.    return __somResult;
  739. }
  740.  
  741.  
  742. /* va_list method: somDispatchA */
  743.  
  744. /*
  745.  *  Obsolete. Use somDispatch instead.
  746.  */
  747. /* the va_list invocation form */
  748. void*   ooxlogical_somDispatchA(somId methodId, 
  749.         somId descriptor, 
  750.         va_list ap)
  751. {return SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchA)
  752.     (this,methodId,descriptor,ap);
  753. }
  754.  
  755. /* the varargs invocation form */
  756. void*   somDispatchA(somId methodId, 
  757.         somId descriptor, 
  758.         ...)
  759. {
  760. /*
  761.  *  Obsolete. Use somDispatch instead.
  762.  */
  763.    va_list ap;
  764.    va_start(ap, descriptor);
  765.    void* __somResult = 
  766.       SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchA)
  767.     (this,methodId,descriptor,ap);
  768.    va_end(ap);
  769.    return __somResult;
  770. }
  771.  
  772.  
  773. /* va_list method: somDispatchD */
  774.  
  775. /*
  776.  *  Obsolete. Use somDispatch instead.
  777.  */
  778. /* the va_list invocation form */
  779. double   ooxlogical_somDispatchD(somId methodId, 
  780.         somId descriptor, 
  781.         va_list ap)
  782. {return SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchD)
  783.     (this,methodId,descriptor,ap);
  784. }
  785.  
  786. /* the varargs invocation form */
  787. double   somDispatchD(somId methodId, 
  788.         somId descriptor, 
  789.         ...)
  790. {
  791. /*
  792.  *  Obsolete. Use somDispatch instead.
  793.  */
  794.    va_list ap;
  795.    va_start(ap, descriptor);
  796.    double __somResult = 
  797.       SOM_ResolveD(this,ooxlogical,SOMObject,somDispatchD)
  798.     (this,methodId,descriptor,ap);
  799.    va_end(ap);
  800.    return __somResult;
  801. }
  802.  
  803.  
  804. /* method: somPrintSelf */
  805. SOMObject*   somPrintSelf()
  806. {
  807. /*
  808.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  809.  *  information about this object.  The default implementation just gives
  810.  *  the object's class name and its address in memory.
  811.  *  <self> is returned.
  812.  */
  813.    return SOM_ResolveD(this,ooxlogical,SOMObject,somPrintSelf)
  814.     (this);
  815. }
  816.  
  817.  
  818. /* method: somDumpSelf */
  819. void   somDumpSelf(long level)
  820. {
  821. /*
  822.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  823.  *  and its current state.
  824.  * 
  825.  *  <level> indicates the nesting level for describing compound objects
  826.  *  it must be greater than or equal to zero.  All lines in the
  827.  *  description will be preceeded by <2*level> spaces.
  828.  * 
  829.  *  This routine only actually writes the data that concerns the object
  830.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  831.  *  the object's current state.  This approach allows readable
  832.  *  descriptions of compound objects to be constructed.
  833.  * 
  834.  *  Generally it is not necessary to override this method, if it is
  835.  *  overriden it generally must be completely replaced.
  836.  */
  837.    SOM_ResolveD(this,ooxlogical,SOMObject,somDumpSelf)
  838.     (this,level);
  839. }
  840.  
  841.  
  842. /* method: somDumpSelfInt */
  843. void   somDumpSelfInt(long level)
  844. {
  845. /*
  846.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  847.  *  Generally this method will need to be overridden.  When overriding
  848.  *  it, begin by calling the parent class form of this method and then
  849.  *  write in a description of your class's instance data. This will
  850.  *  result in a description of all the object's instance data going
  851.  *  from its root ancestor class to its specific class.
  852.  */
  853.    SOM_ResolveD(this,ooxlogical,SOMObject,somDumpSelfInt)
  854.     (this,level);
  855. }
  856.  
  857.  
  858.  
  859. };   /* ooxlogical */
  860.  
  861.  
  862.  
  863. #endif       /* SOM_ooxlogical_xh */
  864.